package com.shj.em.biz.report.service;

import com.shj.em.biz.report.dto.*;

import java.util.Date;
import java.util.List;

public interface ReportService {

    /**
     * 获得单位员工效率
     * @param year
     * @return
     */
    List<EmpEffortsDTO> getEmpEffortsStat(int year);

    /**
     * 得到二组的组别效率
     * @param year
     * @return
     */
    List<GroupEffortDTO> getGroupEffortsStat(int year);

    GrowRatioDTO getGrowRatio(int year);

    ReturnRatioDTO genReturnRatioDTO(int year);

    /**
     * 验证复合增长率需要的配置，是否已经设置了。
     * @param year
     * @return
     */
    String validateConfigForGrowRatioReport(int year);

    /**
     * 获得生产一组的单日效率
     * @param date
     * @return
     */
    FirstGrpEffortDTO getFirstGroupDayEffort(Date date);

    /**
     * 获得生产一组的周效率
     * @param weekFrom
     * @param weekTo
     * @return
     */
    FirstGrpEffortDTO getFirstGroupWeekEffort(Date weekFrom, Date weekTo);

    /**
     * 获得产一组的月效率
     * @param month
     * @return
     */
    FirstGrpEffortDTO getFirstGroupMonthEffort(int month);

    /**
     * 获得设备的单日效率
     * @param date
     * @return
     */
    DeviceUsageDTO getDayDeviceUsage(Date date);

    /**
     * 获得设备的周效率
     * @param weekFrom
     * @param weekTo
     * @return
     */
    DeviceUsageDTO getWeekDeviceUsage(Date weekFrom, Date weekTo);

    /**
     * 获得设备的月效率
     * @param month
     * @return
     */
    DeviceUsageDTO getMonthDeviceUsage(int month);

}
